/*
用户注册的js代码
 */
$(document).ready(function(){ 
	//默认每个表单都是false，表示不可以提交
	var r_user_flag = false;
	var r_email_flag = false;
	var r_tel_flag = false;
	var r_code_flag = false;
	var r_captcha_flag = false;
	var r_pwd_one_flag = false;
	var r_pwd_two_flag = false;

	//对用户名的验证
	$("#r_user").blur(function(){
		var r_user = $("#r_user").val();
		var e = /^[a-zA-Z][\w-]{5,17}$/;
		if(!e.test(r_user)){
			$("#r_user_prompt").css("color","red").html('6~18个字符，可使用字母、数字、下划线，需以字母开头');
		}else{
			$("#r_user_prompt").css("color","green").html('恭喜，该用户名可以注册！');
			r_user_flag = true;
		}
	});

	//用正则表达式验证邮箱
	$("#r_email").blur(function(){
		var r_email = $(this).val();
		var e = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/;
		if(e.test(r_email)){
			$("#r_email_prompt").css("color","green").html("恭喜，该邮箱验证通过!");
			r_email_flag = true;			
		}else{
			$("#r_email_prompt").css("color","red").html("请输入正确的邮箱格式！");		
		}
	});

	//用正则表达式验证电话号码
	$("#r_tel").blur(function(){
		var r_tel = $(this).val();
		var e = /^[1][0-9]{10}$/;
		if(!e.test(r_tel)){
			$("#r_tel_prompt").css("color","red").html("请输入正确的电话号码格式！");		
		}else{
			//Ajax验证电话号码的唯一性		
			$.ajax({
				url:url + 'register/check',
				type:'post',
				data:{'phone':r_tel},
				dataType:'json',
				success:function(data){
					if(data.status){
						$("#r_tel_prompt").css("color","red").html("手机号已经注册！请更换手机号！");						
						$("#r_code_button").attr("disabled", true); 
					}else{
						$("#r_tel_prompt").css("color","green").html("恭喜，该电话号码可以注册!");
						$("#r_code_button").attr("disabled", false);
						r_tel_flag = true;
					}
				},
			});
		}
	});

	//对验证码的验证
	$("#r_code").blur(function(){
		var r_code = $(this).val();
		var r_tel = $("#r_tel").val();
		var e = /^[0-9]{4}$/;
		if(!e.test(r_code)){
			$("#r_code_prompt").css("color","red").html("验证码为4位数字！");
		}else{
			$("#r_code_prompt").html("");
			$.ajax({
				url:url + 'register/checkcode',
	            data:{'code':r_code,'phone':r_tel,},
	            type:'post',	                
	            dataType:'json',
	            success:function(data){ 
	            	if(data.status){
	            		$("#r_vcode_prompt").css("color","green").html("验证码正确！");
	            		r_vcode_flag = true;
	            	}else{
	            		$("#r_vcode_prompt").css("color","red").html("验证码错误！");
	            	}
	            },		
			});			
		}
	});

	//"获取验证码"按钮的单击事件
	$("#r_code_button").click(function(){
		var r_tel = $("#r_tel").val();
		var _this = this;//this代表#r_vcode_button,此操作以便提高代码执行效率
		//电话号码为11位数时才发送手机号
		if(r_tel.length != 11){
			alert('请输入正确的电话号码格式！');
			$("#r_code_button").attr("disabled", true);
		}else{
			//Ajax将电话号码传到服务器端
			$.ajax({
				data:{'phone':r_tel},
				type:'post',
				dataType:'json',
				url:url + 'register/send',
	            //避免用户在请求Ajax中不断点击获取验证码在发起ajax的时候就禁止点击获取按钮
	            beforeSend:function(){
	            	$(_this).attr('disabled',true);
	            },				
				success:function(data){
					if(data.status == 'error'){
						$(_this).attr('disabled',true);
						alert("验证码发送失败！");
					}
					//验证码发送成功的时候，按钮60s倒计时
					var i = 60;
	            	//创建一个定时器
	            	var obj = setInterval(function(){
	            		i--;
	            		if(i>0){
	            			$(_this).val((i)+"s后获取验证码");
	            		}else{
	            			$(_this).attr('disabled',false).val("获取验证码");
	            			//销毁定时器
	            			clearInterval(obj);
	            		}
	            		
	            	},1000);					
				},

			});
		}
	});

	//对图形验证码输入框的验证
	$("#r_captcha").blur(function(){
		var r_captcha = $(this).val();
		if(r_captcha.length <1){
			$("#r_captcha_prompt").css("color","red").html("请输入图像验证码！");
		}else{
			$("#r_captcha_prompt").html("");
			r_captcha_flag = true;
		}
	});
	//对图形验证码的验证
	$("#r_captcha_img").click(function(){
		//刷新当前页面
		// window.location.reload();	
	    //得到验证码的 网址
	    var url = $(this).attr('src');
	    //重新载入验证码的网址，并且加一个随机数防止浏览器缓存
	    $(this).attr('src',url+"?"+ Math.random());				
	});

	//用正则表达式验证密码
	$("#r_pwd_one").blur(function(){
		var r_pwd_one = $(this).val();
		var e = /^[.-\w]{6,18}$/;
		if(e.test(r_pwd_one)){
			$("#r_pwd_one_prompt").css("color","green").html("恭喜，该密码可以注册!");	
			r_pwd_one_flag = true;			
		}else{
			$("#r_pwd_one_prompt").css("color","red").html("密码必须6~18位,区分大小写!");			
		}
	});

	//验证两次输入的密码是否一致
	$("#r_pwd_two").blur(function(){
		var r_pwd_two = $(this).val();
		var r_pwd_one = $("#r_pwd_one").val();
		if(r_pwd_one !== r_pwd_two){
			$("#r_pwd_two_prompt").css("color","red").html("两次密码不一致！");			
		}else{
			$("#r_pwd_two_prompt").html("");
			r_pwd_two_flag = true;				
		}
	});	


	//提交表单时触发的事件
	$("#r_form").submit(function(){
		if(r_user_flag && r_email_flag && r_tel_flag && r_vcode_flag && r_pwd_one_flag && r_pwd_two_flag){
			return true;
		}else{
			return false;
		}
	});


});